/**
 * Created by zhaoyanzhi on 16-10-24.
 */
$(document).ready(
    localStorage.clear(),
    loadInfo(),
    openOrCloseCartList()
)
function loadingImage(){    //点击加载或撤销图片
   $(".foodPictures").click(function(){
       var images=[
           {"大串":"../image/tuPian2.jpg"},
           {"烤全羊":"../image/tuPian3.jpg"}
       ];
       var index=$("#info img").index(this);   //获取当前点击图标的位置
       var name=$(this).parents().find(".dishName").eq(index).html();//找当前行的商品名字
       $.each(images,function(h,info){  //遍历数组找对应图片的路径
           if( name in info){
               if(numArry.indexOf(index)==-1){ //图标下标不在数组中打开图片
                   $("#info p").eq(index).css({"width":"95%","height":"450px","background-image":"url("+info[name]+")"});
                   numArry.push(index);   //下标放数组
               }else{
                   $("#info p").eq(index).css({"width":"auto","height":"auto"});  //更改样式影藏图片
                   numArry.splice(index,1);  //删除图标的下标
               }
           }
       })
   })
}
function loadInfo(){
    $.getJSON("../json/menuInfo.json", function(data) {    //获取json数据并展示在id为info的div中
        $("#info").html("");   //先清空
        $.each(data.menu, function(i, item){
            $.each(item.list,function(h,info){
                    var code1='<a class="dishName">'+info.class+'</a>'+'<a class="vegetablePrice">'+ info.price+'</a>';
                    if(info.id==""){
                        var code2='<a>'+info.id+'</a>'+'<a><img class="foodPictures" src="../image/photo.png"></a>'+
                            code1+'<button class="itemCount">0</button>'+'<br><p class="divcss5"></p>'
                    }else{
                        var code2='<hr>'+'<div class="smallTitle" id="'+ info.id+'">'+info.id +'</div>'
                    }
                    code2=code2+'<hr class="rowHeight">';
                    $("#info").append(code2)
                    }
            );
        })
        indexOfName={};      //记录点击商品的位置
        cartProductNames=[];   //定义一个放商品名字的数组
        numArry=[];  //定义一个放照片图标下标的数组
        loadingImage(); //加载照片
        addCountButton();
    });
}
function addCountButton(){      //给id为info的div中的数量按钮添加点击事件
    $(".itemCount").click(
        function(){
            itemCount=$(this);
            index=$("#info button").index(this);      //被点击按钮的下标
            price=parseFloat($("#info").find(".vegetablePrice").eq(index).html());   //点击商品的价格
            itemName=$("#info").find(".dishName").eq(index).html();    //被点击商品的名字
            if(itemName in indexOfName){
            }else{
                indexOfName[itemName]=index;
            }
            var str='body';
            addSelectCountButton(str);    //生成109个按钮
            $(".rightDiv").css("position","fixed");   //固定rightDiv的滑动
            showCount();
        });
}
function showCount(){
    $(".countButton").click(
        function(){
            var num = $(this).html();
            itemCount.html(num);     //添加点击事件显示更新后的数量
            $(".countDiv").html("");
            updateColor(num,itemCount);  //改变点击以后的颜色
            storageProduct(num);   //更新本地的数量
            computeSumPrice();  //计算总价
            computeSumProductCount(); //计算商品总的价格
        }
    )
}
function  updateColor(str1,str2){  //改变原数量按钮的颜色
    if(str1>0){
        str2.css("background","limegreen");   //绿色
    }else{
        str2.css("background","lightgray");  //灰色
    }
}
function computeSumProductCount(){  //计算总的数量
    var itemCart=JSON.parse(localStorage.getItem("itemInfo"))||[];
    var sumProductCount=itemCart.length;
    $(".cartSumCount").html(sumProductCount);
}



//购物车页面
function storageProduct(num){    //将将所选的商品存到本地
    var itemCart=JSON.parse(localStorage.getItem("itemInfo"))||[];  //从本地获取存储购买商品的数组
    var item={itemName:itemName,itemPrice:price,itemCount:num};    //点击时生成的商品实例
    var itemNames=[];
    $.each(itemCart,function(h,item){
        itemNames.push(item.itemName);  //将本地获取所购买商品的名字存到数组里
    });
    var index=itemNames.indexOf(itemName);  //获取点击的商品在本地存储的下标
    if(index==-1 && num>0){
        itemCart.push(item);
        cartProductNames.push(itemName);
    }else{
        if(num>0){
            itemCart[index].itemCount=num;
        }else{
            itemCart.splice(index,1);
            cartProductNames.splice(index,1);
        }
    }
    localStorage.setItem("itemInfo",JSON.stringify(itemCart));
}
function addCartProduct(){    //往购物车添加要展示的商品并给数量按钮添加点击选数事件
    var itemCart=JSON.parse(localStorage.getItem("itemInfo"))||[];
    var html1 = "";
    $.each(itemCart,function(h,item){
            html1 += '<tr class=".tr">' + '<td class="itemName tdPublic">' + item.itemName + '</td><td class="itemPrice tdPublic">' + item.itemPrice +
            '</td><td class="td3 tdPublic">' + '<button class="count">' + item.itemCount + '</button></td></tr>';
        })
    $(".centerDiv").html("");
    $(".centerDiv").append(html1);
    addSelectCountEvent();
}
function addSelectCountEvent(){  //给购物车的数量按钮添加选择购物数量事件
    $('.count').click(function(){
        cartItemCount=$(this);
        cartItemName=$(this).parents('tr').find(".itemName").html();
        cartItemPrice=$(this).parents('tr').find(".itemPrice").html();
        var str2='#body';
        addSelectCountButton(str2);  //生成109个数量按钮
        updataCartItemCount();   //更新数量
    })
}
function computeSumPrice(){  //计算购物车中所购买商品的总价
    var itemCart=JSON.parse(localStorage.getItem("itemInfo"))||[];
    var sumPrice=0;
    $.each(itemCart,function(h,item){
         sumPrice+=item.itemPrice*item.itemCount;
    });
    $(".sumPay").html(sumPrice+"元");
}
function updataCartItemCount(){ //更新商品的数量
    $(".countButton").click(
        function(){
            var count=$(this).html();
            var subscript=indexOfName[cartItemName];      //更改首页中的商品数量
            var index=cartProductNames.indexOf(cartItemName);
            $('#info').find('.itemCount').eq(subscript).html(count);
            if(count>0){
                cartItemCount.html(count);
            }else{
                $('.centerDiv').children('tr').eq(index).remove();
                $('#info').find('.itemCount').eq(subscript).css("background","lightgray");  //改变首页数量按钮的颜色
            }
            $(".countDiv").html("");
            updataLocalPayItemCount(count);   //更新本地的数量
            computeSumPrice();
        }
    )
}
function updataLocalInCart(count){
    var itemCart=JSON.parse(localStorage.getItem("itemInfo"))||[];  //从本地获取存储购买商品的数组
    var itemNames=[];
    $.each(itemCart,function(h,item){
        itemNames.push(item.itemName);  //将本地获取所购买商品的名字存到数组里
    });
    var index=itemNames.indexOf(cartItemName);  //获取点击的商品在本地存储的下标
    if(count>0){
       itemCart[index].itemCount=count;
    }else{
        itemCart.splice(index,1);
        cartProductNames.splice(index,1);
    }
    localStorage.setItem("itemInfo",JSON.stringify(itemCart));
}
function updataLocalPayItemCount(count){
    var index=cartProductNames.indexOf(cartItemName) ;
    updataLocalInCart(count);
    updataOrderInfo(index,count);//更新下单页面的数据
    computeOrderSumPrice();   //计算下单页面的总价
}
function updataOrderInfo(index,count){       //更改下单页面中显示的单个商品数量和总价
        $(".buyProduct").children('tr').eq(index).find('.count').html(count);
        var sumPrice=count*cartItemPrice;
        $(".buyProduct").children('tr').eq(index).find('.fourthTd').html(sumPrice);
}





//下单页面的js文件
function jumpPayPage(){
    $(".weChatPayment").click(function(){
        $.showLoading("微信支付进行中...");
    })
}
function selectTablewareCount(){  //选择餐具数量
    $(".canju").click(
        function(){
            addSelectCountButton(body);
            $("#full").css("position","fixed");
            selectCountEvent();
        })
}
function addSelectCountButton(str){  //生成109个数量按钮
    var code3="";
    for(var i=0;i<109;i++){
        code3+='<button class="countButton">' + i + '</button>';
    }
    $(str).append(
        '<div class="countDiv">'+code3+'</div>'
    )
}
function selectCountEvent(){   //点击选数
    $(".countButton").click(
        function(){
            var count=$(this).html(); //所选择餐具的数量
            $(".canju").html(count);
            $(".countDiv").html("");
            var str2=$(".canju");
            updateColor(count,str2);
            computeCanJuSumPrice(count); //计算餐具总价
            computeOrderSumPrice();      //计算下单页面总价
        })
}
function computeCanJuSumPrice(count){  //计算餐具的总价
    var sumPrice=5*count;
     $("#sumPrice").html(sumPrice+"元");
}
function showBuyProduct() {    //往下单页面添加购买的商品
    var itemCart=JSON.parse(localStorage.getItem("itemInfo"))||[];
    var str = "";
    $.each(itemCart,function(h,item){
        str += '<tr style="border-bottom-style: none">' + '<td class="firstTd td">' + item.itemName + '</td><td class="secondTd td">'
        + '<button class="count">' + item.itemCount + '</button>' + '</td><td class="thirdId td">' + item.itemPrice + '元</td>' +
        '<td class="fourthTd td">' + item.itemCount * item.itemPrice + '元</td></tr>';
    })
    $(".buyProduct").html("");
    $(".buyProduct").append(str);
    orderProductEvent();
}
function computeOrderSumPrice(){  //计算所有商品和餐具的总价
    var sumPrice=0;
    sumPrice+=parseFloat($(".sumPay").html())+parseFloat($("#sumPrice").html());
    $(".heJi").html(sumPrice+'元');
}
function orderProductEvent(){    //给购物车的数量按钮添加点击选数事件
    $('.count').click(function(){
        var id='#mainDiv';
        productCount=$(this);
        price=$(this).parents("tr").find('.thirdId').html();
        name=$(this).parents("tr").find('.firstTd').html();
        addSelectCountButton(body);
        $("#full").css("position","fixed");
        orderProductSelectCount();
    })
}
function  orderProductSelectCount(){
    $(".countButton").click(
        function(){
            var count=$(this).html(); //所选择的数量
            if(count>0){
                productCount.html(count);
            }else{
                productCount.parents("tr").remove();
            }
            $(".countDiv").html("");
            updateCount(count);
            addProductSumPrice(count,price);   //计算单个商品的总价
            computeOrderSumPrice();  //计算下单页面的总价
        })
}
function  addProductSumPrice(count,price){   //计算更改以后的商品总价
    var sumPrice=parseFloat(count)*parseFloat(price);
    productCount.parents("tr").find('.fourthTd').html(sumPrice+'元');
}
function updateCount(count){
    var itemCart=JSON.parse(localStorage.getItem("itemInfo"))||[];  //从本地获取存储购买商品的数组
    var itemNames=[];
    $.each(itemCart,function(h,item){
        itemNames.push(item.itemName);  //将本地获取所购买商品的名字存到数组里
    });
    var index=itemNames.indexOf(name);  //获取点击的商品在本地存储的下标
    var subscript=indexOfName[name];
    $('#info').find('.itemCount').eq(subscript).html(count);    //更改首页中的数量
    if(count>0){
        itemCart[index].itemCount=count;
    }else{
        itemCart.splice(index,1);
        $('#info').find('.itemCount').eq(subscript).css("background","lightgray");  //当数量为零时改变数的颜色
        cartProductNames.splice(index,1);
    }
    localStorage.setItem("itemInfo",JSON.stringify(itemCart));  //更新完后从新存储
    computeSumPrice();             //计算所有购买的商品总价
}
$.openPopup = function(popup, className) {
    popup = $(popup);
    popup.show();
    popup.width();
    popup.addClass("weui-popup-container-visible");
    var modal = popup.find(".weui-popup-modal");
    modal.width();
    modal.transitionEnd(function() {
        modal.trigger("open");
    });
}
function openOrCloseCartList(){
     clickArry=[];
     $(".cartImage").click(function(){
         var str="click";
         if(clickArry.indexOf(str)==-1){
             clickArry.push(str);
             $("#half").popup();
             addCartProduct();
         }else{
             $.closePopup();
             addCountButton();
             clickArry=[];

         }
     });
     $(".shutDown").click(function(){
             $.closePopup();
             addCountButton();
             clickArry=[];
         }
     )
}
$(document).on("open", "#full", function() {
    showBuyProduct();
    jumpPayPage();
    selectTablewareCount();
    computeOrderSumPrice(); //计算下单页面总价
}).on("close", "#full", function() {
    addCountButton();
});


